-
Notifications
You must be signed in to change notification settings - Fork 941
Add new FileIo CRT bindings #6439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature/master/large-object-dl
Are you sure you want to change the base?
Add new FileIo CRT bindings #6439
Conversation
…shouldStream` to `uploadBufferDisabled`
|
|
||
/** | ||
* The estimated disk throughput in gigabits per second (Gbps). | ||
* Only applied when {@code shouldStream} is true. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like typo and should be {@code uploadBufferDisabled}
* @param shouldStream whether to stream the file | ||
* @return The builder for method chaining. | ||
*/ | ||
Builder uploadBufferDisabled(Boolean shouldStream); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Builder uploadBufferDisabled(Boolean shouldStream); | |
Builder uploadBufferDisabled(Boolean uploadBufferDisabled); |
|
||
/** | ||
* The estimated disk throughput in gigabits per second (Gbps). | ||
* Only applied when {@code shouldStream} is true. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also mention in Java doc why shouldStream is referenced as uploadBufferDisabled in Java client?
} | ||
|
||
private static FileIoOptions resolveFileIoOptions(Builder builder) { | ||
S3CrtFileIoConfiguration s3CrtFileIoConfiguration = builder.fileIoConfiguration; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can builder.fileIoConfiguration;
be null ? We might need to handle if null condition for builder.fileIoConfiguration;
* <p> | ||
* Notes: | ||
* <ul> | ||
* <li>Only supported on Linux for now.</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a way we default it to fault if user sets this for non linux ?
* </ul> | ||
* for additional info https://man7.org/linux/man-pages/man2/openat.2.html | ||
*/ | ||
public static final SdkAdvancedAsyncClientOption<Boolean> CRT_UPLOAD_FILE_DIRECT_IO = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we create a new Option class for CRT and put CRT specific option there?
} | ||
|
||
@Override | ||
public <T> S3CrtAsyncClientBuilder putAdvancedOption(SdkAdvancedAsyncClientOption<T> option, T value) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we have new option class for CRT like SdkAdvancedAsyncCrtClientOption , else all the options which are available on SdkAdvancedAsyncClientOption might appear as supported for CRT and vice versa.
Adding new CRT bindings to s3 crt async client.
Motivation and Context
New bindings were added in version
0.39.0
for file operations.Modifications
0.39.0
@SdkPublicApi
) config class:S3CrtFileIoConfiguration
S3CrtAsyncClientBuilder
advancedOptions
method in crt builder for the newSdkAdvancedAsyncClientOption.CRT_UPLOAD_FILE_DIRECT_IO
S3NativeClientConfiguration
modified to include the newFileIoOption
from CRT